;; Math Functions
(defun zero? (n)
  (= 0 n))

(defun ! (x)
  (let ((total 1))
    (dotimes (i (1+ x))
      (when (not (zero? i))
        (setf total (* i total))))
    total))
